import { reqGetSearchInfo } from "@/api"
export default ({
    // state:仓库存储数据的地方
    state:{
        searchList:{}
    },
    // mutations：修改state的唯一手段
    mutations:{
        GETSEARCHLIST(state,searchList){
            state.searchList=searchList;
        }
    },
    // actions：处理actions，可以书写自己的业务逻辑，也可以处理异步
    actions:{
        async getSearchList({commit},params={}){
            // 当前这个reqGetSearcInfo这个函数在调用获取服务器数据的时候，至少传递一个参数（空对象）
            // params形参：是当前用户派发action的时候，第二个参数传递过来的，至少是一个空对象
            let result = await reqGetSearchInfo(params);
            if(result.code==200){
                commit("GETSEARCHLIST",result.data);
            }
        }
    },
    // 理解为计算属性，用于简化仓库数据，让组件获取仓库库的数据更加方便
    getters:{
        // 当前形参state表示当前仓库的state，并非大仓库的state
        goodsList(state){
            //state.searchList.goodsList;如果服务器数据回来了，就没有问题
            // 假如网络你不给力，state.searchList.goodsList;返回的应该是undefined，因此需要没数据时需要置空
            return state.searchList.goodsList||[];
        },
        trademarkList(state){
            return state.searchList.trademarkList||[];
        },
        attrsList(state){
            return state.searchList.attrsList||[];
        }
    },
})